package cn.edu.tust.controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.edu.tust.bean.UserInfoBean;
import cn.edu.tust.model.UserInfoModel;
import cn.edu.tust.myUtils.MyUtils;

/**
 * 用户信息新增操作
 */
@WebServlet("/UserInfoAddServlet")
public class UserInfoAddServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置request的编码，防止中文乱码
		request.setCharacterEncoding("utf-8");
		// 获取表单数据
		System.out.println("用户信息保存...");
		// 获取用户名
		String strUserName = request.getParameter("txtUserName");
		// 获取密码
		String strUserPsw = request.getParameter("txtUserPsw");
		// 获取真实姓名
		String strUserRealName = request.getParameter("txtUserRealName");
		// 获取邮箱
		String strUserEmail = request.getParameter("txtUserEmail");
		// 获取用户名
		String strUserRegisterDate = request.getParameter("txtUserRegisterDate");

		// 将获取的表单的数据信息保存的实体类中
		//UserInfoBean userInfoB = new UserInfoBean();
		UserInfoBean userInfoB = MyUtils.getNewInstance(UserInfoBean.class);
		// 存入获取的表单的用户名
		userInfoB.setUserName(strUserName);
		// 存入获取的表单的用户名
		userInfoB.setUserPsw(strUserPsw);
		userInfoB.setUserRealName(strUserRealName);
		userInfoB.setUserEmail(strUserEmail);
		userInfoB.setUserRegisterDate(MyUtils.convertString2Date(strUserRegisterDate, "yyyy-MM-dd"));		
		// 调用model层进行数据保存业务逻辑处理
		// 根据model层的业务逻辑处理结果进行结果页的转发操作
		// 获取model层的实例对象，并代用数据保存的业务逻辑处理方法
		int i = MyUtils.getNewInstance(UserInfoModel.class).saveOrUpdateUserInfo(userInfoB);
		// 跳转到保存成功页面(转发)
		request.getRequestDispatcher("userInfoManager/userInfoAddDetail.jsp").forward(request, response);
	}

}
